function [res_jmksc, timeElapsed, resAIO] = JMKSC_single_dataset(Ks, Y, alphas, betas,  gamms, nRepeat )
[nSmp, ~, nKernel] = size(Ks);
nCluster = length(unique(Y));
if ~exist('nRepeat', 'var')
    nRepeat = 1;
end

paramCell = JMKSC_build_param(alphas, betas, gamms);
nParam = length(paramCell);
tic;
resAIO = zeros(nParam, 3);
resAIO2 = cell(1, nParam);
tmp = [];
for i2 = 1:nParam
    param = paramCell{i2};
    disp(['iParam= ', num2str(i2), ', totalParam= ', num2str(nParam), ', alpha= ', num2str(param.alpha), '; beta= ', num2str(param.beta), ', gamma= ', num2str(param.gamma)]);
    res_param = [];
    options = [];
    options.alpha = param.alpha;
    options.beta = param.beta;
    options.gamma = param.gamma;
    options.nRepeat = nRepeat;
    [A, Z, objHistory] = JMKSC(Ks, nCluster, options.alpha, options.beta, options.gamma);
    [label_jmksc20, U] = sc_onkernel((abs(A)+abs(A'))/2, nCluster);
    resAIO(i2,:) = ClusteringMeasure(Y, label_jmksc20);
    max(resAIO, [], 1)
end
res_jmksc = max(resAIO, [], 1);
timeElapsed = toc;